package cn.jx.asc.utils;

import java.util.ArrayList;
import java.util.List;

/**
 * @author z423
 * @2021-06-18-15:34
 * @effect  集合分页查询功能
 * @especial   泛型不能用在静态法方上，静态方法是作用在整个类，而java泛型作用范围是某个实例
 */
public class PageUtils<K> {
    /**
     *
     * @param dataList  待分页地容器
     * @param pageSize   分页大小
     * @param currentPage   当前要跳转的页面
     * @return    分页后的数据
     */
    public  List<K> pages(List<K> dataList, int pageSize, int currentPage) {
        List<K> currentPageList = new ArrayList<>();
        if (dataList != null && dataList.size() > 0) {
            int currIdx = (currentPage > 1 ? (currentPage - 1) * pageSize : 0);
            for (int i = 0; i < pageSize && i < dataList.size() - currIdx; i++) {
                K data = dataList.get(currIdx + i);
                currentPageList.add(data);
            }
        }
        return currentPageList;
    }
}
